var _excluded = ['groupSeparator', 'formatter', 'countupable', 'countupClassName', 'countUpProps'];
function _extends() {
  _extends = Object.assign
    ? Object.assign.bind()
    : function (target) {
        for (var i = 1; i < arguments.length; i++) {
          var source = arguments[i];
          for (var key in source) {
            if (Object.prototype.hasOwnProperty.call(source, key)) {
              target[key] = source[key];
            }
          }
        }
        return target;
      };
  return _extends.apply(this, arguments);
}
function _objectWithoutProperties(source, excluded) {
  if (source == null) return {};
  var target = _objectWithoutPropertiesLoose(source, excluded);
  var key, i;
  if (Object.getOwnPropertySymbols) {
    var sourceSymbolKeys = Object.getOwnPropertySymbols(source);
    for (i = 0; i < sourceSymbolKeys.length; i++) {
      key = sourceSymbolKeys[i];
      if (excluded.indexOf(key) >= 0) continue;
      if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;
      target[key] = source[key];
    }
  }
  return target;
}
function _objectWithoutPropertiesLoose(source, excluded) {
  if (source == null) return {};
  var target = {};
  var sourceKeys = Object.keys(source);
  var key, i;
  for (i = 0; i < sourceKeys.length; i++) {
    key = sourceKeys[i];
    if (excluded.indexOf(key) >= 0) continue;
    target[key] = source[key];
  }
  return target;
}
import { Statistic as AntdStatistic } from 'antd';
import 'antd/es/statistic/style/index.js';
import React from 'react';
import CountUp from 'react-countup';

/**
 * 统计数值
 * 简易的语法糖组件，直接集成 [Statistic](https://ant-design.antgroup.com/components/statistic-cn)、[CountUp](https://github.com/glennreyes/react-countup/tree/master)
 */
function Statistic(_ref) {
  var groupSeparator = _ref.groupSeparator,
    formatter = _ref.formatter,
    _ref$countupable = _ref.countupable,
    countupable = _ref$countupable === void 0 ? false : _ref$countupable,
    countupClassName = _ref.countupClassName,
    countUpProps = _ref.countUpProps,
    props = _objectWithoutProperties(_ref, _excluded);
  return /*#__PURE__*/ React.createElement(
    AntdStatistic,
    _extends(
      {
        groupSeparator: groupSeparator,
      },
      props,
      {
        formatter: formatter
          ? formatter
          : countupable
          ? function (value) {
              return /*#__PURE__*/ React.createElement(
                CountUp,
                _extends(
                  {
                    separator: groupSeparator,
                    className: countupClassName,
                  },
                  countUpProps,
                  {
                    end: value ? Number(value) : 0,
                    prefix: undefined,
                    suffix: undefined,
                  },
                ),
              );
            }
          : undefined,
      },
    ),
  );
}
Statistic.Countdown = AntdStatistic.Countdown;
export default Statistic;
